package com.tencent.face.param;


import com.tencentcloudapi.iai.v20200303.models.CreatePersonRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @description: 创创建人员参数类
 * @date: 2022/5/19
 * @author: shendong
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PersonParam {

    /**
     * 待加入的人员库ID，取值为创建人员库接口中的GroupId
     */
    private String groupId;

    /**
     * 人员名称。[1，60]个字符，可修改，可重复。
     */
    private String personName;

    /**
     * 人员ID，单个腾讯云账号下不可修改，不可重复。支持英文、数字、-%@#&_，长度限制64B。
     */
    private String personId;

    /**
     * 0代表未填写，1代表男性，2代表女性。
     */
    private Long gender =0L;

    /**
     * 图片 base64 数据，base64 编码后大小不可超过5M。  url二选一
     */
    private String image;

    /**
     * 图片的 Url 。对应图片 base64 编码后大小不可超过5M。  image  二选一
     */
    private String url;

    /**
     * 是否开启图片旋转识别支持。0为不开启，1为开启。默认为0。本参数的作用为，当图片中的人脸被旋转且图片没有exif信息时，如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况，请不要开启本参数。开启后，整体耗时将可能增加数百毫秒。
     */
    private Long needRotateDetection =1L;

    public CreatePersonRequest initRequest(){
        CreatePersonRequest request = new CreatePersonRequest();
        request.setGroupId(groupId);
        request.setPersonId(personId);
        request.setPersonName(personName);
        request.setGender(gender);
        request.setImage(image);
        request.setUrl(url);
        request.setNeedRotateDetection(needRotateDetection);
        return request;
    }

}
